Low power consumption is an increasingly important parameter for microcontroller systems. The active power consumption in a microcontroller system is normally dominated by switching activity in the circuit and is proportional to the clock frequency applied to digital logic. Analog modules also contribute a substantially fixed current consumption, which can dominate at low frequencies or in low-power modes. Clocked peripheral modules in the microcontroller system are typically unavailable in ultra-low power, unclocked sleep modes, forcing applications to rely on higher-power clocked modes.
Conventional power reduction solutions for saving power in a microcontroller require that the clock to the Central Processing Unit (CPU) or peripheral modules be switched off, typically by implementing one or more sleep modes in the microcontroller. This solution can be extended until all clocks and analog modules have been switched off, and only leakage current remains, which is typically several orders of magnitude less than active current. The disadvantage of this conventional approach is that the functionality of the device is reduced, since some peripherals are designed to operate with a clock running.